package com.auth.token.base;

/**
 * @author: 王霄
 * @date: 2022/1/20 18:12
 */
public interface TokenClient<T> {

    /**
     * 根据信息请求一组TokenGroup信息
     */
    TokenGroup askToken(T data);

    /**
     * 根据refreshToken刷新TokenGroup
     */
    TokenGroup refreshToken(String refreshToken);

    /**
     * 根据accessToken获取详细信息
     */
    T getData(String accessToken);

    /**
     * 根据accessToken删除TokenGroup信息
     */
    void delByAccessToken(String accessToken);

    /**
     * 根据accessToken删除TokenGroup信息
     */
    void delByRefreshToken(String refreshToken);
}
